package com.ys.entity.account;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_NeedPayLedgerDetail", catalog="Id")
public class TcwNeedPayLedgerDetail extends BaseEntity<TcwNeedPayLedgerDetail> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="NeedPayAccountCode", nameJava="needPayAccountCode", typeDataBase="varchar")
	private String needPayAccountCode;
	@YsField(nameDataBase="CreateChangeId", nameJava="createChangeId", typeDataBase="bigint")
	private Long createChangeId;
	@YsField(nameDataBase="NeedPayTypeCode", nameJava="needPayTypeCode", typeDataBase="varchar")
	private String needPayTypeCode;
	@YsField(nameDataBase="Vgsbm", nameJava="vgsbm", typeDataBase="varchar")
	private String vgsbm;
	@YsField(nameDataBase="Vjylx", nameJava="vjylx", typeDataBase="varchar")
	private String vjylx;
	@YsField(nameDataBase="DetailName", nameJava="detailName", typeDataBase="varchar")
	private String detailName;
	@YsField(nameDataBase="CostPrice", nameJava="costPrice", typeDataBase="decimal")
	private BigDecimal costPrice;
	@YsField(nameDataBase="Quantity", nameJava="quantity", typeDataBase="decimal")
	private BigDecimal quantity;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="AnnexFile", nameJava="annexFile", typeDataBase="varchar")
	private String annexFile;
	@YsField(nameDataBase="ServicePrice", nameJava="servicePrice", typeDataBase="decimal")
	private BigDecimal servicePrice;
	@YsField(nameDataBase="PayedPrice", nameJava="payedPrice", typeDataBase="decimal")
	private BigDecimal payedPrice;
	@YsField(nameDataBase="State", nameJava="state", typeDataBase="tinyint")
	private Integer state;
	@YsField(nameDataBase="ProxyPrice", nameJava="proxyPrice", typeDataBase="decimal")
	private BigDecimal proxyPrice;
	@YsField(nameDataBase="TransferStatus", nameJava="transferStatus", typeDataBase="tinyint")
	private Integer transferStatus;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwNeedPayLedgerDetail setId(Long id) {
		this.id = id;
		return this;
	}
	public String getNeedPayAccountCode() {
		return needPayAccountCode;
	}
	public TcwNeedPayLedgerDetail setNeedPayAccountCode(String needPayAccountCode) {
		this.needPayAccountCode = needPayAccountCode;
		return this;
	}
	public Long getCreateChangeId() {
		return createChangeId;
	}
	public TcwNeedPayLedgerDetail setCreateChangeId(Long createChangeId) {
		this.createChangeId = createChangeId;
		return this;
	}
	public String getNeedPayTypeCode() {
		return needPayTypeCode;
	}
	public TcwNeedPayLedgerDetail setNeedPayTypeCode(String needPayTypeCode) {
		this.needPayTypeCode = needPayTypeCode;
		return this;
	}
	public String getVgsbm() {
		return vgsbm;
	}
	public TcwNeedPayLedgerDetail setVgsbm(String vgsbm) {
		this.vgsbm = vgsbm;
		return this;
	}
	public String getVjylx() {
		return vjylx;
	}
	public TcwNeedPayLedgerDetail setVjylx(String vjylx) {
		this.vjylx = vjylx;
		return this;
	}
	public String getDetailName() {
		return detailName;
	}
	public TcwNeedPayLedgerDetail setDetailName(String detailName) {
		this.detailName = detailName;
		return this;
	}
	public BigDecimal getCostPrice() {
		return costPrice;
	}
	public TcwNeedPayLedgerDetail setCostPrice(BigDecimal costPrice) {
		this.costPrice = costPrice;
		return this;
	}
	public BigDecimal getQuantity() {
		return quantity;
	}
	public TcwNeedPayLedgerDetail setQuantity(BigDecimal quantity) {
		this.quantity = quantity;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcwNeedPayLedgerDetail setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public String getAnnexFile() {
		return annexFile;
	}
	public TcwNeedPayLedgerDetail setAnnexFile(String annexFile) {
		this.annexFile = annexFile;
		return this;
	}
	public BigDecimal getServicePrice() {
		return servicePrice;
	}
	public TcwNeedPayLedgerDetail setServicePrice(BigDecimal servicePrice) {
		this.servicePrice = servicePrice;
		return this;
	}
	public BigDecimal getPayedPrice() {
		return payedPrice;
	}
	public TcwNeedPayLedgerDetail setPayedPrice(BigDecimal payedPrice) {
		this.payedPrice = payedPrice;
		return this;
	}
	public Integer getState() {
		return state;
	}
	public TcwNeedPayLedgerDetail setState(Integer state) {
		this.state = state;
		return this;
	}
	public BigDecimal getProxyPrice() {
		return proxyPrice;
	}
	public TcwNeedPayLedgerDetail setProxyPrice(BigDecimal proxyPrice) {
		this.proxyPrice = proxyPrice;
		return this;
	}
	public Integer getTransferStatus() {
		return transferStatus;
	}
	public TcwNeedPayLedgerDetail setTransferStatus(Integer transferStatus) {
		this.transferStatus = transferStatus;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwNeedPayLedgerDetail setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwNeedPayLedgerDetail setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwNeedPayLedgerDetail setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwNeedPayLedgerDetail tcwNeedPayLedgerDetail(
		String needPayAccountCode,
		Long createChangeId,
		String needPayTypeCode,
		String vgsbm,
		String vjylx,
		String detailName,
		BigDecimal costPrice,
		BigDecimal quantity,
		String remark,
		String annexFile,
		BigDecimal servicePrice,
		BigDecimal payedPrice,
		Integer state,
		BigDecimal proxyPrice,
		Integer transferStatus,
		Integer status
			) {
		TcwNeedPayLedgerDetail entity = new TcwNeedPayLedgerDetail();
		entity.setNeedPayAccountCode(needPayAccountCode);
		entity.setCreateChangeId(createChangeId);
		entity.setNeedPayTypeCode(needPayTypeCode);
		entity.setVgsbm(vgsbm);
		entity.setVjylx(vjylx);
		entity.setDetailName(detailName);
		entity.setCostPrice(costPrice);
		entity.setQuantity(quantity);
		entity.setRemark(remark);
		entity.setAnnexFile(annexFile);
		entity.setServicePrice(servicePrice);
		entity.setPayedPrice(payedPrice);
		entity.setState(state);
		entity.setProxyPrice(proxyPrice);
		entity.setTransferStatus(transferStatus);
		entity.setStatus(status);
		return entity;
	}
}